package com.faya.green.dao.authority;

import com.faya.green.model.RoleUser;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * @author ：LX
 * 创建时间： 2018/8/25. 0:23
 * 地点：广州
 * 目的: 角色与用户关系
 * 备注说明：
 */
public interface RoleUserDao {

    /**
     * 更新 角色与用户关系
     * @param roleUser 角色与用户关系
     */
    void updateRoleUser(RoleUser roleUser);

    /**
     * 新增 角色与用户关系
     * @param roleUser 角色与用户关系
     */
    void addRoleUser(RoleUser roleUser);

    /**
     * 根据主键查询 角色与用户关系
     * @param id 角色与用户关系主键
     * @return
     */
    @Select("select * from RoleUser where id = #{id,jdbcType=VARCHAR} and status != '2'  ")
    List<RoleUser> getRoleUserById(String id);

    /**
     * 根据用户id和权限ID找到对应关系
     * @param userId 用户id
     * @param roleId 权限id
     * @return
     */
    @Select("select * from RoleUser where status != '2' and roleId = #{roleId,jdbcType=VARCHAR} and userId = #{userId,jdbcType=VARCHAR}")
    RoleUser getByUidRid(@Param("userId")String userId, @Param("roleId")String roleId);

    /**
     * 根据主键删除对应关系
     * @param id 主键
     */
    @Delete("delete from RoleUser where id = #{id, jdbcType=VARCHAR}")
    void delRoleUser(String id);
}
